package indi.yuluo.common;

import lombok.extern.slf4j.Slf4j;

/**
 * @Author: yuluo
 * @CreateTime: 2022-08-10  19:38
 * @Description: 基于ThreadLocal封装的工具类 主要的作用是获取当前登录系统的uuid，用户redis用户验证  以线程为作用域
 */

@Slf4j
public class BaseContext {

    private static ThreadLocal<String> threadLocal = new ThreadLocal<>();
    private static Long uuid;

    /**
     * 设置uuid
     * @param id
     */
    public static void setUuid(Long id) {

        log.info("设置的用户id：{}", id);
        uuid = id;
    }

    /**
     * 获取uuid
     * @return
     */
    public static Long getUuid() {
        return uuid;
    }

    /**
     * 设置用户id
     * @param id
     */
    public static void setCurrent(String id) {
        log.info("设置的用户id：{}", id);
        threadLocal.set(id);
    }

    /**
     * 获取当前登录用户的id
     * @return
     */
    public static String getCurrent() {
        return threadLocal.get();
    }
}
